Musik
Gut, wir hatten es letzte Woche
uns am Ende unterhalten, über das Thema
Synchron und Asynchron Aufrufe.
Es warrantiert nämlich die Unterschiedlichkeit der Begriffe,
die Vorteile und Nachteile von Synchronität oder Asynchronität in verteiltem System.
Der wesentliche Punkt ist, dass wir bei Synchronisierung auf der Batte
gemeinsam einen Zeitbegriff haben und auf der Bases natürlich auch solche Sachen,
wie Ausfallerkennung und so etwas machen kann, können und bei Asynchronität das eben nicht haben.
Also wir sind unabhängig von der physikalischen Zeit,
alle Komponenten halten zeitliche Eigenschaften ein.
Sie können ständig
Man kann Wahl von einem gemeinsamen Anführer auf dieser Basis machen.
Zeitbasierte Koordinierung hatten wir kurz angesprochen.
Solche Sachen wie Übungen auch, was die Ressourcenverwaltung angeht.
Wenn man irgendwelche Referenzen rausgegeben hat,
dass man dann letztendlich nach einer Zeit erknnen kann,
dass wir solche Ressourcen wieder freigeben kann,
die damit verbunden sind.
Und Governor determining ghaltige甚orde h goatschil
kann Wahl von einem gemeinsamen Anführer auf dieser Basis machen.
Zeitbasierte Koordinierung hatten wir kurz angesprochen.
Also solche Sachen wie LISES, also auch was die Ressourcenverwaltung angeht,
wenn man irgendwelche Referenzen rausgegeben hat,
dass man dann letztendlich nach einer gewissen Zeit eben auch erkennen kann,
dass man solche Ressourcen wieder freigeben kann, die damit verbunden sind.
Und mit einer bestimmten Genauigkeit kann man auch eine Synchronisation physikalischer Uhren durchführen.
Das werden wir aber noch sehen, dass das also in aller Regel dann nicht beliebig weit reicht,
weil eben doch die Synchronität, die man dahin bekommt,
eben im Vergleich zur Taktrate von Prozessoren relativ ungenau ist.
Und man kann auch eben Performance-Analysen in dem Fall machen.
Der Nachteil ist, dass man das halt in vielen Situationen nicht wirklich hat,
weil man halt gerade bei internetbasierten Verhaltensystemen
einfach sehr, sehr unterschiedliche Zeitschranken hat
und gerade durch partielle Ausfälle oder vorübergehende Ausfälle
eben auch sehr, sehr unterschiedliche Zeitverzögerungen reinbekommen kann.
Und da war dann die Idee, dass man mit einer etwas gelockerten Definition arbeitet,
mit einer partiellen Synchronität, wo man letztendlich sagt,
dass es irgendwann so quasi einen Zeitpunkt gibt,
also das ist so die abstrakte Modellierung,
es gibt einen Zeitpunkt, ab dem sich das System synchron verhält.
Tatsächlich heißt es eigentlich im Prinzip, dass das System
einfach nicht immer synchron arbeitet, sondern dass es eben einfach
Zeiträume gibt, in denen das Netzwerk überlastet ist
oder man hat was weiß ich Speicheregenpässe oder sowas
und aufgrund von solchen Situationen verhält sich ein System asynchron.
Aber mit so einer partiellen Synchronität kann man halt letztendlich
ein paar Situationen, die sich in der Realität ergeben,
einfacher irgendwo einschätzen.
Wenn man jetzt asynchrones Systeme hat, die jetzt natürlich irgendwo
Presenters
Zugänglich über
Offener Zugang
Dauer
00:24:19 Min
Aufnahmedatum
2012-07-03
Hochgeladen am
2019-05-08 01:39:02
Sprache
de-DE
- Übersicht und Grundlagen verteilter Systeme
-
Verteilte Programmierung, Client/Server-Konzept
-
Kommunikation, Prozesse, Namensgebung
-
Koordinierung, Konsistenzwahrung
-
Grundlagen verteilter Algorithmen
-
Zeit in verteilten Systemen (logische Uhren, NTP)
-
Java, weiterführende Konzepte (z.B. Threads, Reflections)
-
Sun RPC, Java RMI
-
Dynamische Erzeugung von Proxies, Callback
Lernziele und Kompetenzen:
Die Studierenden
-
erwerben fundierte Kenntnisse über Grundlagen von verteilten Systemen
-
verstehen Zusammenhänge, die die verteilte Ausführung von Programmen in vernetzten Rechensystemen ermöglichen
-
erlernen die verteilte Programmierung in Java
-
entwickeln eine Middleware-Plattform zur Ausführung verteilter Programme